[LINUX] Update x86/64 ELF note patch to version accepted upstream.
authorIan Campbell <ian.campbell@xensource.com>
Tue, 22 Aug 2006 14:55:43 +0000 (15:55 +0100)
committerIan Campbell <ian.campbell@xensource.com>
Tue, 22 Aug 2006 14:55:43 +0000 (15:55 +0100)
Signed-off-by: Ian Campbell <ian.campbell@xesource.com>
patches/linux-2.6.16.13/x86_64-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch

index d2a1ac9cdad4ea5d423d3cc2e07a9e796fa7c52e..1dd70cf728ad4b7f7669bd88357ffd37b01155de 100644 (file)
@@ -1,19 +1,21 @@
-diff -urN ref-linux-2.6.16.13/arch/x86_64/kernel/vmlinux.lds.S x86-64_elfnotes/arch/x86_64/kernel/vmlinux.lds.S
---- ref-linux-2.6.16.13/arch/x86_64/kernel/vmlinux.lds.S       2006-05-02 22:38:44.000000000 +0100
-+++ x86-64_elfnotes/arch/x86_64/kernel/vmlinux.lds.S   2006-08-22 11:39:14.000000000 +0100
-@@ -14,6 +14,11 @@
+diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S
+index 7c4de31..ef418b3 100644
+--- a/arch/x86_64/kernel/vmlinux.lds.S
++++ b/arch/x86_64/kernel/vmlinux.lds.S
+@@ -13,6 +13,12 @@ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86
  OUTPUT_ARCH(i386:x86-64)
  ENTRY(phys_startup_64)
  jiffies_64 = jiffies;
 +PHDRS {
 +      text PT_LOAD FLAGS(5);  /* R_E */
 +      data PT_LOAD FLAGS(7);  /* RWE */
++      user PT_LOAD FLAGS(7);  /* RWE */
 +      note PT_NOTE FLAGS(4);  /* R__ */
 +}
  SECTIONS
  {
    . = __START_KERNEL;
-@@ -26,7 +31,7 @@
+@@ -31,7 +37,7 @@ SECTIONS
        KPROBES_TEXT
        *(.fixup)
        *(.gnu.warning)
@@ -22,7 +24,7 @@ diff -urN ref-linux-2.6.16.13/arch/x86_64/kernel/vmlinux.lds.S x86-64_elfnotes/a
                                /* out-of-line lock text */
    .text.lock : AT(ADDR(.text.lock) - LOAD_OFFSET) { *(.text.lock) }
  
-@@ -43,7 +48,7 @@
+@@ -57,7 +63,7 @@ #endif
    .data : AT(ADDR(.data) - LOAD_OFFSET) {
        *(.data)
        CONSTRUCTORS
@@ -31,7 +33,25 @@ diff -urN ref-linux-2.6.16.13/arch/x86_64/kernel/vmlinux.lds.S x86-64_elfnotes/a
  
    _edata = .;                 /* End of data section */
  
-@@ -201,4 +206,6 @@
+@@ -89,7 +95,7 @@ #define VVIRT_OFFSET (VSYSCALL_ADDR - VS
+ #define VVIRT(x) (ADDR(x) - VVIRT_OFFSET)
+   . = VSYSCALL_ADDR;
+-  .vsyscall_0 :        AT(VSYSCALL_PHYS_ADDR) { *(.vsyscall_0) }
++  .vsyscall_0 :        AT(VSYSCALL_PHYS_ADDR) { *(.vsyscall_0) } :user
+   __vsyscall_0 = VSYSCALL_VIRT_ADDR;
+   . = ALIGN(CONFIG_X86_L1_CACHE_BYTES);
+@@ -132,7 +138,7 @@ #undef VVIRT
+   . = ALIGN(8192);            /* init_task */
+   .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) {
+       *(.data.init_task)
+-  }
++  } :data
+   . = ALIGN(4096);
+   .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
+@@ -235,4 +241,6 @@ #endif
    STABS_DEBUG
  
    DWARF_DEBUG